Method and apparatus for communicating between mobile devices

ABSTRACT

A method and apparatus is disclosed herein for communicating between mobile devices. In one embodiment, the method comprises launching an application on a first mobile device, joining a wireless mesh network with the first mobile device being a node in the wireless mesh network in response to launching the application, discovering one or more other mobile devices that are active in the wireless mesh network using a discovery protocol, receiving profile information from each of the one or more other mobile devices, and displaying a visual directory of participants associated with the one or more other mobile devices active in the wireless mesh network.

PRIORITY

The present patent application claims priority to and incorporates byreference the corresponding provisional patent application Ser. No.61/761,142, titled “FACE2NAME,” filed on Feb. 5, 2013.

FIELD OF THE INVENTION

Embodiments of the present invention related to mobile devicecommunication. More particularly, embodiments of the present inventionrelate to using a mesh network for communication between mobile devicesattending an event to facilitate socializing and networking amongparticipants.

BACKGROUND OF THE INVENTION

Many situations exist in which identifying and communicating with otherpeople that are in the same place at the same time is desired byindividuals. These places include, for example, a network event (e.g.,professional conference), a shopping mall, entertainment club, avacation establishment (e.g., a cruise ship), and a university campus.

There are solutions that exist to facilitate communication amongindividuals in these settings. However, they include a number ofdrawbacks. One such solution uses a central server to facilitate thecommunication. To enable communication, all the users have to entertheir information into the central server and then all communicationsthereafter have to go through the central server. If the central serverbecome goes down and is no longer operational, then all communication isstopped. Thus, it would be desirable to have a solution that doesn'trely on a central server for all communications.

SUMMARY OF THE INVENTION

A method and apparatus is disclosed herein for communicating betweenmobile devices. In one embodiment, the method comprises launching anapplication on a first mobile device, joining a wireless mesh networkwith the first mobile device being a node in the wireless mesh networkin response to launching the application, discovering one or more othermobile devices that are active in the wireless mesh network using adiscovery protocol, receiving profile information from each of the oneor more other mobile devices, and displaying a visual directory ofparticipants associated with the one or more other mobile devices activein the wireless mesh network.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood more fully from the detaileddescription given below and from the accompanying drawings of variousembodiments of the invention, which, however, should not be taken tolimit the invention to the specific embodiments, but are for explanationand understanding only.

FIG. 1 illustrates one embodiment of a wireless mesh network.

FIG. 2 is a flow diagram of one embodiment of a process forcommunicating between mobile devices attending an event to facilitatesocializing and networking among participants.

FIG. 3 is one embodiment of a personal profile page.

FIG. 4 illustrates one embodiment of a visual directory.

FIG. 5 illustrates one embodiment of a carousel version of the visualdirectory.

FIG. 6 illustrates one embodiment of a search window and associatedsearch button.

FIG. 7 illustrates one embodiment of a contact page.

FIG. 8 illustrates one embodiment of the user interface having people,lounge, and message buttons.

FIG. 9 illustrates one embodiment of a message interface.

FIG. 10 is a block diagram of one embodiment of a mobile device.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

A method and apparatus for using a mesh network for communicationbetween mobile devices attending an event or being at a location tofacilitate socializing, networking, or other forms of interaction amongparticipants.

In the following description, numerous details are set forth to providea more thorough explanation of the present invention. It will beapparent, however, to one skilled in the art, that the present inventionmay be practiced without these specific details. In other instances,well-known structures and devices are shown in block diagram form,rather than in detail, in order to avoid obscuring the presentinvention.

Some portions of the detailed descriptions which follow are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

The present invention also relates to apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but is not limited to, any type ofdisk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions, and each coupledto a computer system bus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the required method steps. The required structurefor a variety of these systems will appear from the description below.In addition, the present invention is not described with reference toany particular programming language. It will be appreciated that avariety of programming languages may be used to implement the teachingsof the invention as described herein.

A machine-readable medium includes any mechanism for storing ortransmitting information in a form readable by a machine (e.g., acomputer). For example, a machine-readable medium includes read onlymemory (“ROM”); random access memory (“RAM”); magnetic disk storagemedia; optical storage media; flash memory devices; electrical, optical,acoustical or other form of propagated signals (e.g., carrier waves,infrared signals, digital signals, etc.); etc.

Overview

A wireless mesh network having multiple mobile devices (e.g., mobilephones, tablets, etc.) that communicate with each other without using acentral server is described. FIG. 1 illustrates one embodiment of a meshnetwork 101 with mobile devices 102 _(1-N). Mobile devices 102 _(1-N)communicate with each other when they are within each other's vicinityusing mesh network 101.

In one embodiment, the mobile devices join the mesh network by sendingannouncement messages that announce or advertise their presence. Eachmobile device discovers other mobile devices in mobile devices that arewithin their vicinity (e.g., within a predetermined distance, withinrange of the announcement messages, etc.). In one embodiment, each ofthe devices represents a node in the mesh network and has a unique IDderived from the MAC address of its wireless interface. Therefore, thereis a unique ID associated with every one of those nodes. This unique IDfacilitates the mobile device being recognized as a previous member ofthe mesh network in case the mobile device leaves and then rejoins thenetwork.

In one embodiment, each mobile device is operable to receive profileinformation from the other mobile devices and display a visual directoryof participants having mobile devices that are active in the wirelessmesh network.

Using the visual directory, a user can select a thumbnail image of oneparticipant from the visual directory and have a contact page of thatparticipant be displayed on their mobile device. In one embodiment, thecontact page includes the thumbnail image, a user's name and a list ofone or more options for contacting the user (e.g., a talk button to makea call to that participant, a chat button to start a chat session withthe participant, etc.).

Thus, the mobile devices share profile information with each other at avenue when they are in a wireless mesh network together and this sharedinformation can be used to facilitate further communication andinteraction with each other at the venue.

In one embodiment, if a mobile device in the wireless mesh networkbecomes inactive, the rest of the mobile devices in the network cancontinue to communicate with each other without breaking the wirelessmesh network between the one mobile device and mobile devices thatremain active in the wireless mesh network. In one embodiment, if atleast two mobile devices becomes inactive in the wireless mesh networkwithout breaking the wireless mesh network between the remaining mobiledevices, then those mobile devices that split from the others form theirown group with their own wireless mesh network, while those mobiledevice that remain form a second group with their own wireless meshnetwork. This occurs in a seamless fashion. Subsequently, the two groupscan be rejoined into one wireless mesh network when mobile devices inthe first and second groups are within a predetermined distance of eachother (e.g., back within the vicinity of each other).

In one embodiment, the mesh network software used by each of the mobiledevices is open80211s, the open mesh stack that is part of the Linuxkernel version 3.8.

More specifically, in one embodiment, the platform running on eachmobile device is always monitoring its link layer as part of a discoveryprotocol that is being used. Each mobile device announces or advertisesitself and each mobile device monitors its link layer to determine whenanother mobile device is in the area (based on received advertisingmessages). When a new device becomes available, the new devicebroadcasts its profile information, which the other mobile devices inthe mesh network obtain and display. Once a mobile device has beendiscovered, the mobile device that made the discovery maintains a listof all the mobile devices for which it is still communication andmaintains profile information for each of the mobile device, which isreceived from each mobile device directly as part of the process. If thenew device was a device that had previously been part of the group, themobile devices recognize that this new mobile device was previously inthe mesh network and displays their profile information again.

In one embodiment, the mesh uses a path selection protocol when a mobiledevice wants to communicate with another mobile device in the wirelessmesh network. In this case, the mobile device sends a broadcast messagethat queries how to reach that other mobile device. In one embodiment,the path selection protocol computes a metric and creates a topologythat can be used to determine a route for the communication when itneeds to do so. Any message will then be forward along that determinedroute. In one embodiment, if the message is being sent through multiplemobile devices to reach its destination, then the message containsinformation indicating to the mobile devices that receive it that theyneed to forward the message onward to its destination.

As discussed above, in one embodiment, the mobile devices that are partof the wireless mesh network group can split into multiple groups. Forexample, if a mobile device moves to out of the range of the mobiledevices in the wireless mesh network, then communication with thosemobile devices stops. If multiple mobile devices that were in the groupgo out of range of other of those mobile devices, but then are stillwithin range of each other, then the mobile devices in the mesh networkare essentially split into two (or more) groups. Note that the presentinvention is not limited to splitting the group into two groups. Infact, a group may be split into any number of groups.

When a mobile device leaves the group, the other mobile devices stopreceiving the announcements from that mobile device and remove it fromthe list of devices. In response to this occurring, notifications aresent through the application causing the mobile device to provide anindication that the mobile device is no longer available. In oneembodiment, the indication is provided by changing the user interface(e.g., grey out the user's profile information on the display).

When any mobile devices of a group that has been split away from a meshnetwork are back within range, they automatically and seamlessly rejointhe group from which they split. This seamless rejoining does notrequire any reconnection process to occur because there was never aconnection that was broken.

In one embodiment, in order to reestablish communication, a messaginglibrary is used. In one embodiment, the library is zeromq.

The use of the wireless mesh network has a number of advantages. Forexample, this communication paradigm does not require the use of acentral server or a central network node, such as in WiFi and WiFiDirect to handle the communications. In the case of WiFi and WiFiDirect, even if there is no central server, the entire network freezesif the Access Point or the Group Owner fails or becomes unreachable.Mesh does not suffer from that single point of failure andcommunications are made directly between the mobile devices in thenetwork. Also, using the wireless mesh network avoids having to accessthe infrastructure WiFi network. Another advantage is that people candynamically sign in and out of the network. Furthermore, only thosemobile devices in the vicinity have access to the wireless mesh network,and therefore, there is no need for complicated security.

In one embodiment, as an alternative to using a wireless mesh network,the wireless communication scheme that is used is WiFi Direct+TDLS(Tunneled Direct Link Setup).

One Embodiment of a Communication Process

FIG. 2 is a flow diagram of one embodiment of a process forcommunicating between mobile devices attending an event to facilitatesocializing and networking among participants. The process is performedby processing logic that may comprise hardware (circuitry, dedicatedlogic, etc.), software (such as is run on a general purpose computersystem or a dedicated machine), or a combination of both. In oneembodiment, the process is performed by processing logic of a mobiledevice such as one of the mobile devices shown in FIG. 1.

Referring to FIG. 2, the process begins by processing logic in a mobiledevice launching an application on a first mobile device (processingblock 201). In response to launching the application, processing logicin the mobile device joins a wireless mesh network in which the mobiledevice is a node (processing block 202). In one embodiment, joining awireless mesh network with the first mobile device being a node in thewireless mesh network comprises advertising, by the first mobile device,its presence in the wireless mesh network.

As part of being in the wireless mesh network, processing logic in themobile device discovers other mobile devices that are active in thewireless mesh network using a discovery protocol (processing block 203).In one embodiment, the processing logic discovers the other mobiledevices only if each are within a predetermined distance of the mobiledevice.

From those discovered mobile devices, processing logic in the mobiledevice receives profile information and provides its profile informationto the mobile devices (processing block 204). In one embodiment, theuser enters their profile information into a profile page that appearson the display of the mobile device on the first launch of theapplication. FIG. 3 is one embodiment of a personal profile page.Referring to FIG. 3, profile page 300 includes a location for a photo311. Photo 311 may be obtained by take a picture with camera in responseto pressing button 310. Profile page 300 also includes fields for a lastname 301, first name 302, occupation 303, company & location 304, cellphone number 305, and office phone number 306. The present invention isnot limited to these fields and other fields for other information maybe used. In one embodiment, the fields in the display can be tailoredbased on preferences.

Using the received profile information, processing logic displays avisual directory of participants associated with the other mobiledevices that are active in the wireless mesh network (processing block205). The visual directory allows users to browse through pictures ofother users active in the wireless mesh network. In one embodiment, thevisual directory is only displayed after the user selects a userinterface element (e.g., presses a people button) on the display. FIG. 4illustrates one embodiment of a visual directory. Referring to FIG. 4,visual directory 400 is displayed after the user presses a people button401 on the display. In one embodiment, when the mobile device is heldvertically, the participants are displayed in the grid format shown inFIG. 4. In one embodiment, the user can scroll up or down through thethumbnail images to see who is in the local area. In one embodiment, ifthe mobile phone is turned horizontally, a carousel version of thevisual directory is displayed. FIG. 5 illustrates one embodiment of acarousel version of the visual directory. In one embodiment, thecarousel version of the visual directory displays larger pictures of theusers that are intended to be examined one at a time. In one embodiment,the user is able to flip through the images with a horizontalside-to-side movement of their thumb or finger.

In one embodiment, using mesh (and also, in a more limited way, withWiFi Direct+TDLS), the mobile device infers the distance to each othermobile device in the network from the received signal strength detectedfrom that user's mobile device. The mobile device uses this informationto sort the visual directory based on distance from the user. In oneembodiment, the mobile device determines the distance between itself andeach of the other mobile devices and sets up alerts to provide anotification when a person of interest is within a predetermineddistance (e.g., “please alert me if this person comes within 2 metersfrom where I am”).

In one embodiment, the user is able to search for an individual orsearch the profile information using keywords. This may be performedusing a search button and its associated search window. Such searchingcapability allows a user to search for a person by name. FIG. 6illustrates one embodiment of a search window and associated searchbutton. Referring to FIG. 6, search button 601 is shown at the upperportion of the display of the mobile device. In one embodiment, thesearch button is placed in the navigation bar to ensure it is alwaysavailable from anywhere in the application.

Processing logic selects a thumbnail image of one participant from thevisual directory (processing block 206). In response to the selection ofa thumbnail image, processing logic displays a contact page of the oneparticipant (processing block 207). In one embodiment, the contact pageincludes the thumbnail image of a mobile device user, that user's nameand a list of one or more options for contacting that user. FIG. 7illustrates one embodiment of a contact page. Referring to FIG. 7,contact page 700 includes a user's photo 701, name 702, occupation 702and place of employment 704. In one embodiment, contact page 700 alsoincludes a list of options to contact the user, such as chat button 710and talk button 711. In response to selecting chat button 710,processing logic in the mobile device initiates a chat session with thatuser. In response to selecting talk button 711, processing logic in themobile device initiates a telephone call to that user. In oneembodiment, the telephone call occurs over the mesh network.

Processing logic also displays a user interface option, which ifselected by the user, causes a message to be sent to all participants inthe visual directory (processing block 208). In one embodiment, thisoccurs in response to pressing a “lounge” button on the user interface.Pressing the lounge button opens a group chat among the participants inthe mesh network. FIG. 8 illustrates the lounge button 801. Pressing themessage button 802 on the user interface causes a message board to bedisplayed. Upon selecting a message, the user is able to send messagesand/or response to messages that have been received. FIG. 9 illustratesone embodiment of a message interface.

At a certain point in time after joining the wireless mesh network,processing logic determines that one or more of the network devices thatare in the network are no longer active (processing block 209). This maybe because those mobile device users closed their application thatenabled them to provide announcement messages to the other user devicesin the wireless mesh network. Alternatively, this may be because thosemobile devices are outside the range of the wireless mesh network. Evenwhen this occurs, the wireless mesh network that exists between theremaining mobile devices is not broken, and communication between theremaining mobile devices still occurs.

In one embodiment, if at least two of the mobile devices in the meshnetwork become inactive without breaking a proximity network between thefirst mobile device and remaining mobile devices in the mesh network,then those two or more mobile devices form a first group that is in afirst wireless mesh network while the mobile devices that remain form asecond group that is in a wireless mesh network together (processingblock 210). Thus, in such a case, there are two (or more) groups ofmobile devices with the separate wireless mesh networks. Subsequently,processing logic rejoins the first and second groups into one wirelessmesh network when the mobile devices are within a predetermined distanceof each other (e.g., within the range to receive the announcementmessages of mobile devices in the other group) (processing block 211).

Note in one embodiment, when the mobile device is no longer active inthe wireless mesh network, their profile picture in the visual directorymay be removed or an effect may be applied to their profile picture. Theeffect may be applying a color (e.g., grey) to the picture to indicateto the user that the individual is not longer in the vicinity.

An Example of a Mobile Device

FIG. 10 is a block diagram of one embodiment of a mobile device (e.g.,mobile phone) that includes a transmitter and/or the receiver. Referringto FIG. 10, the mobile device 810 includes an antenna 811, aradio-frequency transceiver (an RF unit) 812, a modem 813, a signalprocessing unit 814, a control unit 815, an external interface unit(external I/F) 816, a speaker (SP) 817, a microphone (MIC) 818, adisplay unit 819, an operation unit 820 and a memory 821. In oneembodiment, the external I/F 816 includes an external interface(external I/F), a CPU (Central Processing Unit), a display unit, akeyboard, a memory, a hard disk and a CD-ROM drive. The CPU and thecontrol unit 815 in cooperation with the memories of mobile device 810(e.g., memory 821, memory, and hard disk of the external I/F 816)cooperate to perform the operations described above. Note that thetransmitter and/or receiver may be included in other wireless devices(e.g., a wireless LAN).

In one embodiment, the memories of mobile device 810 (e.g., memory 821,memory, and hard disk of the external I/F 816) store the applicationthat is launched to allow the mobile device to create, join, leave andrejoin a wireless mesh network, as well as display the user interfaceand allow the user to interact with the user interface as describedherein.

In one embodiment, the external I/F can be connected to a notebook,laptop, desktop or other computer. This can enable the user terminal toact as a wireless modem for the computer. The user terminal can be thecomputer's connection to the Internet, WiFi and WiMAX, a local areanetwork, a wide area network, a personal area network, Bluetooth.

Whereas many alterations and modifications of the present invention willno doubt become apparent to a person of ordinary skill in the art afterhaving read the foregoing description, it is to be understood that anyparticular embodiment shown and described by way of illustration is inno way intended to be considered limiting. Therefore, references todetails of various embodiments are not intended to limit the scope ofthe claims which in themselves recite only those features regarded asessential to the invention.

I claim:
 1. A method for use with a plurality of mobile devices, themethod comprising: launching an application on a first mobile device;joining a wireless mesh network with the first mobile device being anode in the wireless mesh network in response to launching theapplication; discovering one or more other mobile devices that areactive in the wireless mesh network using a discovery protocol;receiving profile information from, and performing data exchanges with,each of the one or more other mobile devices using the wireless meshnetwork exclusively; displaying a visual directory of participantsassociated with the one or more other mobile devices active in thewireless mesh network; and at least two mobile devices of the one ormore other mobile devices becoming inactive in the wireless mesh networkwithout breaking a proximity network between the first mobile device andmobile devices of the one or more other mobile devices other than the atleast two mobile devices, the at least two mobile devices forming afirst group that is in a shared wireless mesh network together and thefirst mobile device and the mobile devices of the one or more othermobile devices other than the at least two mobile devices forming asecond group that is in a third wireless mesh network together.
 2. Themethod defined in claim 1 wherein discovering the one or more othermobile devices occurs only if each of the one or more other mobiledevices is within a predetermined distance of the first mobile device.3. The method defined in claim 1 wherein joining the wireless meshnetwork with the first mobile device being a node in the wireless meshnetwork comprises advertising, by the first mobile device, its presencein the wireless mesh network.
 4. The method defined in claim 1 furthercomprising: at least one of the one or more other mobile devicesbecoming inactive in the wireless mesh network without breaking aproximity network between the first mobile device and mobile devices ofthe one or more other mobile devices other than the at least one mobiledevice.
 5. The method defined in claim 1 further comprising rejoiningthe first group and the second group into a single wireless mesh networkwhen mobile devices in the first and second groups are within apredetermined distance of each other.
 6. The method defined in claim 1further comprising: selecting a thumbnail image of one participant fromthe visual directory; displaying a contact page of the one participant.7. The method defined in claim 6 wherein the contact page includes thethumbnail image, a person's name and a list of one or more options forcontacting the person.
 8. The method defined in claim 7, wherein thelist includes a chat option, and further comprising initiating a chatsession with one of the participants by selecting the chat option fromthe list.
 9. The method defined in claim 1, further comprisingdisplaying a user interface option to send a message to all participantsin the visual directory.
 10. The method defined in claim 1 wherein thevisual directory displays thumbnail images of users in a grid that maybe scrolled up and down by a user to view the participants.
 11. Themethod defined in claim 10 wherein the visual directory displays thethumbnail images of the users in the grid that may be scrolled up anddown by the user to view thumbnail images of the participants.
 12. Themethod defined in claim 1 wherein the visual directory displaysthumbnail images of users in a carousel view that allows a user to flipthrough thumbnail images of the participants.
 13. The method defined inclaim 1 further comprising displaying a user interface that contains asearch entry location to search profile information of the participants.14. The method defined in claim 1 further comprising: obtaining receivedsignal strength information of the one or more other mobile devices; andsorting the visual directory based on the received signal strengthinformation of the one or more other mobile devices.
 15. Anon-transitory computer-readable storage medium having instructionsstored therein, which when executed by a first mobile device, cause thefirst mobile device to perform a method comprising: launching anapplication on the first mobile device; joining a wireless mesh networkwith the first mobile device being a node in the wireless mesh networkin response to launching the application; discovering one or more othermobile devices that are active in the wireless mesh network using adiscovery protocol; receiving profile information from, and performingdata exchanges with, each of the one or more other mobile devices usingthe wireless mesh network exclusively; displaying a visual directory ofparticipants associated with the one or more other mobile devices activein the wireless mesh network; and at least two mobile devices of the oneor more other mobile devices becoming inactive in the wireless meshnetwork without breaking a proximity network between the first mobiledevice and mobile devices of the one or more other mobile devices otherthan the at least two mobile devices, the at least two mobile devicesforming a first group that is in a shared wireless mesh network togetherand the first mobile device and the mobile devices of the one or moreother mobile devices other than the at least two mobile devices forminga second group that is in a third wireless mesh network together.
 16. Awireless mesh network having a plurality of mobile devices thatcommunicate with each other without using a central server, wherein oneof the mobile devices joins the mesh network by sending announcementmessages that announce its presence and discovers other mobile devicesin the plurality of mobile devices, and further wherein the one mobiledevice is operable to: receive profile information from, and performingdata exchanges with, the other mobile devices using the wireless meshnetwork exclusively; display a visual directory of participantsassociated with the other mobile devices active in the wireless meshnetwork; select a thumbnail image of one participant from the visualdirectory; and display a contact page of the one participant; wherein atleast two mobile devices becomes inactive in the wireless mesh networkwithout breaking the wireless mesh network between the one mobile deviceand mobile devices that remain in the wireless mesh network, and furtherwherein the at least two mobile devices form a first group and the onemobile device and the mobile devices that remain form a second group,the first and second groups being separate wireless mesh networks. 17.The network defined in claim 16 wherein the contact page includes thethumbnail image, a person's name and a list of one or more options forcontacting the person.
 18. The network defined in claim 16 wherein atleast one of the other mobile devices becomes inactive in the wirelessmesh network without breaking the wireless mesh network between the onemobile device and mobile devices that remain active in the wireless meshnetwork.
 19. The network defined in claim 16 wherein the first andsecond groups are rejoined into a single wireless mesh network whenmobile devices in the first and second groups are within a predetermineddistance of each other.